package com.dimples.dd.redis.core.constant;

public interface RedisConstants {

    /**
     * 黑名单TOKEN Key前缀
     */
    String TOKEN_BLACKLIST_PREFIX = "token:blacklist:";

    /**
     * 图形验证码key前缀
     */
    String CAPTCHA_CODE_PREFIX = "captcha_code:";

    /**
     * 登录短信验证码key前缀
     */
    String LOGIN_SMS_CODE_PREFIX = "sms_code:login";

    /**
     * 注册短信验证码key前缀
     */
    String REGISTER_SMS_CODE_PREFIX = "sms_code:register";


    /**
     * 角色和权限缓存前缀
     */
    String ROLE_PERMS_PREFIX = "role_perms:";


    /**
     * JWT 密钥对(包含公钥和私钥)
     */
    String JWK_SET_KEY = "jwk_set";

    /**
     * 权限缓存前缀
     */
    String LOGIN_TOKEN_KEY = "login_tokens:";

    /**
     * 缓存有效期，默认720（分钟）
     */
    long EXPIRATION = 720;

    /**
     * 缓存刷新时间，默认120（分钟）
     */
    long REFRESH_TIME = 120;

    // ================================================= 网关相关 key ================================================= //
    /**
     * 网关路由缓存
     */
    String GATEWAY_ROUTES = "sys:cache:cloud:gateway_routes";

    /**
     * 网关路由处理器名称
     */
    String HANDLER_NAME = "handlerName";

    /**
     * Redis 网关路由订阅消息处理器
     */
    String LOADER_ROUTER_HANDLER = "loaderRouterHandler";

    /**
     * Redis发布订阅的通道名称
     */
    String REDIS_TOPIC_NAME = "dd_redis_topic";

    /**
     * 网关路由删除 router_id
     */
    String ROUTE_MESSAGE_DELETE_ROUTER_ID = "delRouterId";

}
